//package com.lintf.flowable.config;
//
//import org.jasypt.encryption.StringEncryptor;
//import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
//import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//@Configuration
//public class JasyptConfig {
//
//    /**
//     * 配置并返回一个字符串加密器实例
//     * 该方法使用Spring的@Bean注解，使得返回的加密器实例可以被Spring容器管理
//     * 并作为轻量级的、可配置的加密器 bean，用于加密和解密字符串
//     *
//     * @return StringEncryptor 加密器实例，用于字符串的加密和解密
//     */
//    @Bean
//    public StringEncryptor stringEncryptor() {
//        // 创建一个基于池化的加密器实例
//        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
//        // 创建并配置加密器的配置对象
//        SimpleStringPBEConfig config = new SimpleStringPBEConfig();
//        // 配置加密密钥，务必保密
//        config.setPassword("C8RmcxB7TSy1BEyW");
//        // 设置加密算法
//        config.setAlgorithm("PBEWithMD5AndDES");
//        // 设置密钥迭代次数，影响破解难度
//        config.setKeyObtentionIterations("1000");
//        // 设置加密池的大小，1 表示单个实例使用
//        config.setPoolSize("1");
//        // 盐生成器类，防止彩虹表攻击
//        config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
//        // 设置输出编码类型为 base64
//        config.setStringOutputType("base64");
//        // 将配置对象应用到加密器实例
//        encryptor.setConfig(config);
//        // 返回配置好的加密器实例
//        return encryptor;
//    }
//}
